编码:隐匿在计算机软硬件背后的语言 原书第2版 收藏

  • 书籍语言:简体中文
  • 下载次数:6699
  • 书籍类型:Epub+Txt+pdf+mobi
  • 创建日期:2025-08-22 18:10:04
  • 发布日期:2025-09-06
  • 连载状态:全集
  • 书籍作者:查尔斯·佩措尔德
  • 运行环境:pc/安卓/iPhone/iPad/Kindle/平板

内容简介

本书是一部深入浅出揭示计算机运行本质的经典著作。全书以“通信”为核心线索,从手电筒的开关控制讲起,通过灯泡的亮灭引入二进制概念,进而剖析莫尔斯电码、布莱叶盲文等编码系统如何成为信息传递的基石。随后,作者以逻辑门电路为起点,层层递进地解释如何通过继电器、触发器、存储器等元件搭建出具备运算能力的机器,最终演化为现代计算机的中央处理器(CPU)。书中还探讨了操作系统、编程语言及软件开发的底层逻辑,揭示了代码如何驱动硬件完成复杂任务。第2版新增了对现代计算机技术发展的延伸讨论,例如,互联网通信原理、图形界面实现机制等,使内容更贴合当下技术趋势。

作者简介

查尔斯·佩措尔德(Charles Petzold) 美国著名的程序员和技术作家,尤其在Windows应用程序开发领域享有盛誉,从事编程和计算机方面的写作已有35年之久。他不仅是一位微软最有价值专家(MVP),更被授予微软Windows先锋奖,以表彰他对Windows平台的杰出贡献。他著有多部经典技术书籍,包括被誉为Windows编程圣经的Programming Windows系列,以及广受赞誉的《编码:隐匿在计算机软硬件背后的语言》。他的作品以清晰易懂的风格著称,能够将复杂的计算机科学概念向更广泛的读者群体进行普及。目前,他和妻子——历史学家兼小说家迪尔德丽·辛诺特,以及两只猫(分别名叫Honey和Heidi)住在纽约。他的网站地址是charlespetzold.com。

编辑推荐

适读人群 :计算机专业学生、研究人员及相关从业者
本书由微软Windows先锋奖得主撰写,阿里巴巴达摩院院长张建锋(花名:行癫)倾情翻译,著译双馨。
本书旨在揭开计算机硬件与软件的神秘面纱,带领读者从最简单的编码概念出发,逐步深入到复杂计算机系统的构建。通过盲文、莫尔斯电码等日常事物,将抽象的计算机原理具象化,即使是没有任何技术背景的读者也能轻松理解。本书不仅涵盖了二进制、布尔逻辑、逻辑门、存储器、微处理器等核心概念,还扩展了关于时钟、算术逻辑单元、CPU控制信号、互联网等重要主题的章节。

下载地址

序言

第2版前言
本书的第1版出版于1999年9月。令我非常高兴的是,我意识到我终于写了一本永远不需要修订的书!这与我写的第一本书形成了鲜明的对比,那本书是关于Microsoft Windows应用程序编写的,它在短短十年内就已经出版了5个版本。我写的第二本书是关于OS/2 Presentation Manager的,它过时得更快。但我确信,Code这本书会永远流传下去。
我对Code的最初想法是,从非常简单的概念开始,慢慢地深入数字计算机的工作原理。在这个引导读者稳步攀登知识之山的过程中,我会尽量少使用隐喻、类比和滑稽的插图,而是使用真正的工程师设计和构建计算机时使用的语言和符号。我还有一个小妙招:使用古老的技术来展示普遍原理,假设这些古老的技术已经有相当的历史,并且永远不会过时。这就好比以福特T型车(Ford Model T)为蓝本来写一本关于内燃机的书。
我仍然认为我的方法是可靠的,但在一些细节上我犯了错误。随着时间的流逝,这本书开始显出老态:一些文化参照变得过时了;手机和手指取代了键盘和鼠标;互联网在1999年确实已经出现,但它最终演化而成的样子与当时大相径庭;统一码(Unicode)—一种允许统一表示世界上所有语言以及表情符号的文本编码—在第1版中只占用了不到一页的篇幅;JavaScript这个在网络上变得无处不在的编程语言根本没有提及。
这些问题可能很容易解决,但第1版还有另一个方面一直让我感到困扰。我想要展示真正的中央处理器(Central Processing Unit,CPU)的工作原理,CPU是计算机的大脑、心脏和灵魂,但在第1版中我并没有做到这一点。我觉得我当时已经接近这个关键的突破口,但后来我放弃了。读者似乎没有抱怨,但对我来说,这是一个明显的缺陷。
这个缺陷在第2版中得到了修正。这就是第2版比第1版多了大约70页的原因。是的,这是一段更长的旅程,但如果你跟我一起走进第2版,我们将更深入地探索CPU的内部工作原理。这是否会为你带来更愉快的体验,我不敢肯定。如果你感觉内容太多,像是要把你淹没了,请先休息一下透透气。但如果能坚持阅读到第24章,你应该感到相当自豪,而且会高兴地知道,书中的剩余部分内容理解起来将会轻松许多。
配套网站
Code的第1版在电路图中使用红色来表示电流的流动。第2版也是如此,但这些电路的工作原理现在还通过一个新网站(CodeHiddenLanguage.com)以更具图形交互性的方式进行了演示。
在本书中,我们会不时提醒读者访问这个网站,同时我们还使用了一个特殊的图标,如本段侧边所示。从现在起,每当出现这个图标(通常伴随着一个电路图),就表示你可以在配套网站上探索该电路的工作原理。(我使用的是JavaScript和HTML5的canvas元素来编程这些网页图形。)
CodeHiddenLanguage.com网站完全免费。在少数例子中,网站确实使用了Cookie,但这只是为了允许你在计算机上存储一些信息。这个网站不会追踪你的数据或进行恶意攻击。
我还将使用这个网站来对书中的内容进行说明或勘误。
致谢
除了在封面上署名的作者之外,还有一些同样不可或缺的人为本书的出版做出了贡献。
特别要提到的是本书的执行编辑Haze Humbert,她恰好在我正准备更新第2版的时刻找到我,与我沟通这件事情的可能性。我从2021年1月开始做这件事情,她巧妙地引导我们渡过了难关,甚至在超过交稿截止日期几个月后,依然耐心地给予我支持。
本书第1版的项目编辑是Kathleen Atkins,她理解我试图做的事,和她也有许多愉快的合作时光。当时我的代理人是Claudette Moore,她同样看到了这样一本书的价值,并且说服了Microsoft Press出版它。
第1版的技术编辑是Jim Fuchs,我记得他帮我发现了很多令人尴尬的错误。第2版的技术审稿人Mark Seemann和Larry O’Brien也发现了我的一些疏忽之处,并帮助我在原来的基础上进行了优化。
我以为我在几十年前就已经弄清楚了compose和comprise这两个单词的区别,但显然并没有。对于这类错误的纠正,文字编辑Scout Festa做出了宝贵的贡献。我一直受惠于文字编辑的善举,是他们不懈地与不严谨和滥用语言的现象做斗争,尽管很多时候我与他们并不相识。
至于本书中所遗留的任何错误,完全是我的责任。
我想再次感谢本书第1版的试读者:Sheryl Canter、Jan Eastlund、Peter Goldeman(已故)、Lynn Magalska和Deirdre Sinnott(后来成为我的妻子)。
本书第1版中的众多插图出自已故的Joel Panchot之手,我了解到他对自己为这本书所做的工作感到非常自豪。他的许多插图仍然被保留下来,但是由于需要更多的电路图,为了保持一致,我决定重做所有电路图[这些插图是我用C#程序生成的,该程序使用SkiaSharp图形库生成可缩放的矢量图形文件。在高级内容制作人Tracey Croom的指导下,SVG文件被转换为封装的PostScript(EPS),以便使用Adobe InDesign设置页面]。
最后,我想将这本书献给我生命中最重要的两位女性。
我的母亲曾在逆境中奋力拼搏,她为我的人生指引了方向,让我学会不退缩。在这本书的写作过程中,我们庆祝了她的95岁(也是最后一个)生日。
我的妻子Deirdre Sinnott对我来说非常重要,她的成就、她对我的支持以及她的爱一直让我引以为豪。
同时,致本书第1版的读者,你们的友好反馈让我感到格外高兴。

Charles Petzold
2022年5月9日

目录

译者序
第2版前言
作者简介
第1章 最好的朋友 /1
第2章 编码与组合 /7
第3章 布莱叶盲文与二元编码 /12
第4章 手电筒的剖析 /19
第5章 绕过拐角的通信 /27
第6章 逻辑与开关 /35
第7章 电报机与继电器 /49
第8章 继电器与逻辑门 /55
第9章 我们的十个数字 /78
第10章 十进制的替代 /85
第11章 二进制数 /102
第12章 字节与十六进制 /120
第13章 从ASCII码到统一码 /129
第14章 使用逻辑门做加法 /147
第15章 真的是这样吗 /159
第16章 那么减法呢 /172
第17章 反馈与触发器 /186
第18章 让我们制作一个时钟吧 /210
第19章 存储器组织 /231
第20章 算术自动化 /250
第21章 算术逻辑单元 /271
第22章 寄存器和总线 /286
第23章 CPU控制信号 /302
第24章 循环、跳转和调用 /322
第25章 外围设备 /343
第26章 操作系统 /352
第27章 编码 /363
第28章 世界大脑 /382

短评